/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package agentes09.gestor.behaviours;

import agentes09.agentes.AgenteConEstado;
import agentes09.geografia.Ciudad;
import agentes09.geografia.PosicionEstatica;
import agentes09.gestor.EstadoAgente;
import jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * Este Behaviour es el encargado de responder a las consultas
 * del gestor
 * @author jmcarmona
 */
public class ResponderEventoDeControl extends CyclicBehaviour {

	@Override
	public void action() {
		AgenteConEstado myAgentConRegistro = (AgenteConEstado) myAgent;
		EstadoAgente registro = myAgentConRegistro.getEstado();
		ACLMessage message = myAgent.receive();
		if (message != null && message.getConversationId() != null &&
				message.getConversationId().equals("preguntar-estado")) {
			ACLMessage respuesta = message.createReply();
			EstadoAgente reg =
					new EstadoAgente(registro.getDineroDisponible(),
					registro.getMercanciaDisponible(),
					registro.getPosicion());
			try {
				respuesta.setContentObject(reg);
			} catch (IOException ex) {
				Logger.getLogger(ResponderEventoDeControl.class.getName()).log(Level.SEVERE, null, ex);
			}
			respuesta.setPerformative(ACLMessage.INFORM);
			myAgent.send(respuesta);
		}
	}

	/*	@Override
	protected void action() {
	ACLMessage message = myAgent.receive();
	if (message != null && message.getConversationId().equals("consultar-estado")) {
	System.out.println("Yo, " + myAgent.getName() + ", he recibido el mensaje");
	}
	}
	 */
}
